iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 15
0
自我挑戰組

Swift - 來吧!鐵人三十項系列 第 15

Day15:當天的鐵人當天寫 - Enumerations

  • 分享至 

  • xImage
  •  

前前言

嗨,大家好,我是 Lacie,您現在收看的是 Swift - 來吧!鐵人三十項 系列的第十五篇
在鐵人賽完結後,為保持持續做筆記的習慣
將會在我的 Medium 繼續撰寫文章,若有興趣者可前往觀看。


前言

本篇接續上集,由於 switch 常常和 enum 一起搭配使用(組合技
且我也只在偶然間使用過一次 enum 搭配 switch 的用法
故趁這次機會來學習 enum 的相關使用方法,好好了解這個厲害的東西


Enum


enum 可以幫一組相關的值,自定義一個共同的類型
透過自定義的類型,可以安全又快速地處理有規範的資料結構或是特殊的值
且也可以幫助我們的程式碼更好、更容易被看懂
應該還是很抽象,就直接來看個範例吧:

如果今天想定義自己家裡的寵物:

定義方向:

定義月份:


搭配 Raw Value 使用

除了使用文字,也可以使用圖形(每個 Raw Value 在 enum 宣告中必須是唯一的)
使用圖形:

使用數字:

也可以這樣:


非常好人的隱式指定

以 Int 作為 Raw Value
就算你沒有幫 enum 裡的 case 分配 Raw Value,它也會自動幫你:

你也不用一個一個寫好,它也會幫你:

以 String 作為 Raw Value
以 String 作為 Raw Value 的話,預設就是該 case 的名稱:


搭配 switch 使用

使用 enum 來搭配 switch 的話,可以更明確的分類各個項目要做的事情是什麼
且因為都已經自定義好類型,基本上也不太會有例外的情況(default),不過也是可以只處理其中一個,剩下都丟在 default:

幫所有 case 都分好要做的事:


其他

enum 的用法還有很多很多
例如:搭 tag 使用、搭 Index 使用、切分各區塊畫面要做的事
最主要要做的事情就是:讓程式碼變得更有邏輯、更好看懂
那實際操作的例子就等後面慢慢來重構一些小專案時順便補上 /images/emoticon/emoticon82.gif


上一篇
Day14:當天的鐵人當天寫 - Switch
下一篇
Day16:當天的鐵人當天寫 - Function(1)
系列文
Swift - 來吧!鐵人三十項30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言